package com.hsmpay.utils;

import java.util.HashMap;
import java.util.Map;

/**
 * Created by zhy on 16/2/22.
 */
public class ZFTCode {
    private static Map<String,String> zftCodeMap = new HashMap<String,String>();

    static{
        zftCodeMap.put("00","交易成功");
        zftCodeMap.put("01","该卡不允许做此交易");
        zftCodeMap.put("02","无效商户");
        zftCodeMap.put("03","交易通讯超时，请发起查询交易");
        zftCodeMap.put("04","交易状态未明，请查询对账结果");
        zftCodeMap.put("05","交易已受理，请稍后查询交易结果");
        zftCodeMap.put("06","交易金额超限");
        zftCodeMap.put("07","暂时不能退货");
        zftCodeMap.put("08","没有原交易");
        zftCodeMap.put("09","撤销只允许当日操作");
        zftCodeMap.put("10","无参数需下载");
        zftCodeMap.put("11","无效卡号");
        zftCodeMap.put("12","重复交易");
        zftCodeMap.put("13","过期卡");
        zftCodeMap.put("14","有作弊嫌疑");
        zftCodeMap.put("15","PIN输入超次数");
        zftCodeMap.put("16","无此账户");
        zftCodeMap.put("17","挂失卡");
        zftCodeMap.put("18","被窃卡");
        zftCodeMap.put("19","余额不足");
        zftCodeMap.put("20","过期卡");
        zftCodeMap.put("21","密码错");
        zftCodeMap.put("22","无此卡记录");
        zftCodeMap.put("23","非法交易");
        zftCodeMap.put("24","有作弊嫌疑");
        zftCodeMap.put("25","受限制卡");
        zftCodeMap.put("26","无效原金额");
        zftCodeMap.put("27","没收卡");
        zftCodeMap.put("28","PIN输入超过次数");
        zftCodeMap.put("29","止付卡");
        zftCodeMap.put("30","非法帐户");
        zftCodeMap.put("31","交易拒绝");
        zftCodeMap.put("32","卡已作废");
        zftCodeMap.put("33","重做交易或电话授权");
        zftCodeMap.put("34","重复交易");
        zftCodeMap.put("35","PIN格式错，请重新签到");
        zftCodeMap.put("36","不匹配的交易");
        zftCodeMap.put("37","有效期错");
        zftCodeMap.put("38","无效卡校验");
        zftCodeMap.put("39","手输卡号不允许做该交易");
        zftCodeMap.put("40","无效交易");
        zftCodeMap.put("41","无效金额");
        zftCodeMap.put("42","不批准交易");
        zftCodeMap.put("43","无此发卡行");
        zftCodeMap.put("44","不做任何处理");
        zftCodeMap.put("45","无此交易");
        zftCodeMap.put("46","拨号电话非法");
        zftCodeMap.put("47","退货金额超限");
        zftCodeMap.put("48","当日不许退货");
        zftCodeMap.put("49","30天内退货");
        zftCodeMap.put("50","金额超限");
        zftCodeMap.put("51","请与银行联系");
        zftCodeMap.put("52","格式错误");
        zftCodeMap.put("53","没收卡，请与发卡行联系");
        zftCodeMap.put("54","超出发卡行取款限额");
        zftCodeMap.put("56","超出发卡行取款次数限制");
        zftCodeMap.put("57","银行网络故障");
        zftCodeMap.put("58","银行系统异常");
        zftCodeMap.put("59","交易超时");
        zftCodeMap.put("60","银行MAC校验错");
        zftCodeMap.put("62","该卡未初始化或睡眠卡");
        zftCodeMap.put("63","操作有误，或超出交易允许天数");
        zftCodeMap.put("64","发卡方不支持的交易");
        zftCodeMap.put("65","不允许此卡交易");
        zftCodeMap.put("66","发卡方不允许该卡在本终端进行此交易");
        zftCodeMap.put("67","发卡行响应超时");
        zftCodeMap.put("68","系统日切，请稍后后重试");
        zftCodeMap.put("69","发卡方状态不正常，请稍后重试");
        zftCodeMap.put("70","发卡方线路异常，请稍后重试");
        zftCodeMap.put("71","银联交换中心异常");
        zftCodeMap.put("72","终端号未登记");
        zftCodeMap.put("73","请先签到");
        zftCodeMap.put("74","请联系收单机构手工退货");
        zftCodeMap.put("75","无效交易币种");
        zftCodeMap.put("76","上批未结，请先结完上批");
        zftCodeMap.put("77","不支持该卡种");
        zftCodeMap.put("78","根据银联规定，完成通知交易不能撤销");
        zftCodeMap.put("79","请使用与预授权交易同一类型终端做完成交易");
        zftCodeMap.put("80","请使用刷卡方式进行交易");
        zftCodeMap.put("81","请先进行结账");
        zftCodeMap.put("82","无效卡号");
        zftCodeMap.put("99","交易失败");
        zftCodeMap.put("A0","mac校验失败");
        zftCodeMap.put("B0","交易失败。请联系发卡行");
        zftCodeMap.put("B1","系统未开放或暂时关闭，请稍后再试");
        zftCodeMap.put("B2","商户不支持此卡类型");
        zftCodeMap.put("B3","商户不支持此交易");
        zftCodeMap.put("B4","终端mac校验失败");
        zftCodeMap.put("B5","报文格式错误");
        zftCodeMap.put("B6","验证签名失败");
        zftCodeMap.put("B7","重复交易");
        zftCodeMap.put("B8","报文交易要素缺失");
        zftCodeMap.put("B9","批量文件格式错误");
        zftCodeMap.put("C0","交易未通过，请联系发卡行");
        zftCodeMap.put("C1","商户状态不正确");
        zftCodeMap.put("C2","无此交易权限");
        zftCodeMap.put("C3","交易金额超限");
        zftCodeMap.put("C4","查无此交易");
        zftCodeMap.put("C5","原交易不存在或状态不正确");
        zftCodeMap.put("C6","与原交易信息不符");
        zftCodeMap.put("C7","已超过最大查询次数或操作过于频繁");
        zftCodeMap.put("C8","银联风险受限");
        zftCodeMap.put("C9","交易不在受理时间范围内");
        zftCodeMap.put("D0","绑定关系检查失败");
        zftCodeMap.put("D1","批量状态不正确，无法下载");
        zftCodeMap.put("D2","扣款成功但交易超过规定支付时间");
        zftCodeMap.put("D3","交易失败，详情请咨询您的发卡行");
        zftCodeMap.put("D4","输入的卡号无效，请确认后输入");
        zftCodeMap.put("D5","交易失败，发卡银行不支持该商户，请更换其他银行卡");
        zftCodeMap.put("D6","卡状态不正确");
        zftCodeMap.put("D7","卡上的余额不足");
        zftCodeMap.put("D8","输入的密码、有效期或CVN2有误，交易失败");
        zftCodeMap.put("D9","持卡人身份信息或手机号输入不正确，验证失败");
        zftCodeMap.put("E0","密码输入次数超限");
        zftCodeMap.put("E1","您的银行卡暂不支持该业务，请联系发卡行");
        zftCodeMap.put("E2","您的输入超时，交易失败");
        zftCodeMap.put("E3","交易已跳转，等待持卡人输入");
        zftCodeMap.put("E4","动态口令或短信验证码校验失败");
        zftCodeMap.put("E5","您尚未在银行网点柜面或个人网银签约加办银联无卡支付业务，请联系发卡行");
        zftCodeMap.put("E6","支付卡已超过有效期");
        zftCodeMap.put("E7","扣款成功，销账未知");
        zftCodeMap.put("E8","扣款成功，销账失败");
        zftCodeMap.put("E9","需要验密开通");
        zftCodeMap.put("F0","银行卡未开通认证支付");
        zftCodeMap.put("F1","发卡行交易权限受限，详情请咨询您的发卡行");
        zftCodeMap.put("F2","文件不存在");
        zftCodeMap.put("F3","通用错误");
        zftCodeMap.put("F4","有缺陷的成功");
    }

    public static String getZftCode(String code){
        return zftCodeMap.get(code);
    }
}
